

#ifndef __TDA_LEXICO__
#define __TDA_LEXICO__



#define MAX_LENGTH_LEXICO_ 30

#define LEXICOS_FILE "lexicos.csv"
#define LEXICOS_TMP_FILE "lexicos_tmp.csv"


#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#include "ListaOrdenada.h"
/*
Este TDA deber� almacenar los l�xicos v�lidos a ser consultados en los distintos documentos.
(Provienen de un archivo de configuraci�n l�xicos.csv). Deber� adem�s mantener la base de
L�xicos en memoria y poder persistir las actualizaciones de los mismos en el archivo.
(Altas/Bajas/Modificaciones y Consultas).
El registro del csv es: l�xico,cantidadConsultasLexico
La implementaci�n de este TDA queda a cargo del Grupo.
*/




typedef struct ITEM_LEXICO
{
	char lexico[MAX_LENGTH_LEXICO_];
	int cantidadConsultasLexico;
}ITEM_LEXICO;


typedef struct TDA_LEXICOS
{
	TListaSimpleOrdenada *listaLexicos;

}TDA_LEXICOS;

int tda_lexico_crear(TDA_LEXICOS *tdaLexico);
int tda_lexico_destruir(TDA_LEXICOS *tdaLexico);
int tda_lexico_printf(TDA_LEXICOS *tdaLexico);


int tda_lexico_read_file( TDA_LEXICOS *tdaLexico,FILE *fp);
int tda_lexico_write_file( TDA_LEXICOS *tdaLexico,FILE *fp);

int tda_lexico_alta(TDA_LEXICOS *tdaLexico,ITEM_LEXICO *lexico);
int tda_lexico_baja(TDA_LEXICOS *tdaLexico,ITEM_LEXICO *lexico);

int tda_lexico_incrementarConsultas(TDA_LEXICOS *tdaLexico,char *lexico);


#endif
